//
//  JPFHttpManager.h
//  JPFCoreKit
//
//  Created by jpf on 2021/7/28.
//  Copyright © 2021 jpf. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "JPFComJSONResponse.h"
#import "JPFHttpJSONResponse.h"
#import "JPFHttpResponse.h"
#import "JPFHttpConst.h"

NS_ASSUME_NONNULL_BEGIN

#define ERRORCODE_MoreTimes_Code   100001
#define ERRORCODE_MoreTimes_Domain LocalString(@"频繁调用")

/*!
 
 @class
 @abstract Http网络请求工具类，支持GET,POST发送请求
 
*/
@interface JPFHttpManager : NSObject

/*!
 * @brief 以POST方式发送请求
 * @param requestUrl 请求URL
 * @param parameters 参数
 * @param response 回调
 * @author JPF
*/
- (NSURLSessionDataTask *)POST:(NSString *)requestUrl
                    parameters:(NSDictionary *)parameters
                    completion:(JPFHttpResponse *)response;


/*!
 * @brief 以POST方式发送请求
 * @param requestUrl 请求URL
 * @param parameters 参数
 * @param dataType 发送请求数据传输方式
 * @param response 回调
 * @author JPF
*/
- (NSURLSessionDataTask *)POST:(NSString *)requestUrl
                    parameters:(NSDictionary *)parameters
                      dataType:(JPFServiceDataType)dataType
                        header:(id)header
                    completion:(JPFHttpResponse *)response;

/*!
 * @brief 以POST方式发送请求
 * @param requestUrl 请求URL
 * @param data 参数
 * @param header 请求头
 * @param response 回调
 * @author JPF
*/
- (NSURLSessionDataTask *)POST:(NSString *)requestUrl
                          data:(NSData *)data
                        header:(NSDictionary *)header
                    completion:(JPFHttpResponse *)response;

/*!
 * @brief 发送请求
 * @param requestUrl 请求URL
 * @param mothod 发送方式
 * @param data 参数 NSData
 * @param response 回调
 * @author JPF
*/
- (NSURLSessionDataTask *)request:(NSString *)requestUrl
                           method:(JPFHttpMethod)mothod
                             data:(NSData *)data
                           header:(id)header
                       completion:(JPFHttpResponse *)response;


@end

NS_ASSUME_NONNULL_END
